home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
TURB_VIS
/
ALEXLEVI
/
DEMO
/
DEMO_KBD.ASM
< prev
next >
Wrap
Assembly Source File
|
1994-04-12
|
2KB
|
87 lines
;
;****************************************************************************
;* *
;* This procedure was made by Alex Levitas' "Keyboard Map Editor". *
;* *
;****************************************************************************
;
; This procedure convert single character from standard keyboard map to new.
;
; May be used after reading single character from keyboard. Use after
; INT 16h function calls.
;
; Procedure has one parameter - character to be converted - in AL register
;
; To use this procedure in your program, insert the directive
;
; INCLUDE DEMO_KBD.ASM
;
; If you want to use more than one keyboard map in your program, you
; must change procedure name in each source file.
;
ConvertChar PROC FAR
PUSHF
PUSH ES
PUSH DI
PUSH CX
PUSH CS
POP ES
MOV DI, OFFSET $ + 29h
MOV ES:[DI + 184d], AL
MOV CX, 92d
CLD
REPNE
SCASB
PUSHF
POP CX
XCHG CL, CH
MOV CL, 14
SHR CX, CL
AND CX, 1
XOR CX, 1
ADD DI, CX
ADD DI, 91d
MOV AL, ES:[DI]
POP CX
POP DI
POP ES
POPF
RET
; Keyboard chars
DB 126d, 96d, 33d, 49d, 64d, 50d, 35d, 51d, 36d, 52d, 37d, 53d, 94d, 54d, 38d
DB 55d, 42d, 56d, 40d, 57d, 41d, 48d, 95d, 45d, 43d, 61d, 81d,113d, 87d,119d
DB 69d,101d, 82d,114d, 84d,116d, 89d,121d, 85d,117d, 73d,105d, 79d,111d, 80d
DB 112d,123d, 91d,125d, 93d, 65d, 97d, 83d,115d, 68d,100d, 70d,102d, 71d,103d
DB 72d,104d, 74d,106d, 75d,107d, 76d,108d, 58d, 59d, 34d, 39d, 90d,122d, 88d
DB 120d, 67d, 99d, 86d,118d, 66d, 98d, 78d,110d, 77d,109d, 60d, 44d, 62d, 46d
DB 63d, 47d
; Convert chars
DB 126d, 96d, 33d, 49d, 34d, 50d, 58d, 51d, 47d, 52d, 37d, 53d, 44d, 54d, 46d
DB 55d, 63d, 56d, 40d, 57d, 41d, 48d, 95d, 45d, 43d, 61d,137d,169d,150d,230d
DB 147d,227d,138d,170d,133d,165d,141d,173d,131d,163d,152d,232d,153d,233d,135d
DB 167d,149d,229d,154d,234d,148d,228d,155d,235d,130d,162d,128d,160d,143d,175d
DB 144d,224d,142d,174d,139d,171d,132d,164d,134d,166d,157d,237d,159d,239d,151d
DB 231d,145d,225d,140d,172d,136d,168d,146d,226d,156d,236d,129d,161d,158d,238d
DB 240d,241d
; Old char
DB 0FFh
ENDP